home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Shareware Grab Bag
/
Shareware Grab Bag.iso
/
095
/
tbbs105.arc
/
BBS105.DOC
< prev
next >
Wrap
Text File
|
1985-10-02
|
20KB
|
529 lines
Turbo BBS Version 1.05 - System Operator Notes - Page 1
1 - Features:
- Self-contained Message and Files system written in Pascal;
- Program not operating system dependent;
- Information files editable with WordStar;
- Variable Terminal width with word-wrap;
- User profile (password, terminal parameters) kept on file;
- Real-time clock time stamping of files and messages;
- Private and public messages supported;
- Can be configured as a private BBS;
- Variable access levels available;
- File and message sub-sections for easier user access;
- All uploaded files stamped with name of contributor;
- Number of accesses of each file recorded;
- XMODEM protocol (CRC & checksum) fully supported;
- Calls logged with sign-on and sign-off times;
- Comments to System Operator (Sysop) file;
- Supports squeezed and library files;
- Directly drives serial port hardware.
2 - System files: The following files are included in the Turbo
BBS package:
* Required to compile the program: BBS.PAS
BBS2.INC
IO.INC
MACHDEP.INC
MAILSYS.INC
FILESYS.INC
The above .PAS file must be on the logged drive, and the .INC
files on drive A: when compiling!
The BBS program should be compiled to a .COM file.
* Required on the default drive to run the compiled BBS program:
BBS.COM (obviously);
* The following files are created automatically on the default
drive (space should be reserved for them).
MESSAGES.BBS - the system message table: contains records for
each message giving user numbers of sender and receiver, subject,
time stamp, message and section number, and whether the receiver
has read the message or not. This table is loaded into a RAM
buffer whenever the system is active (ie. caller on-line), and
restored to disk at sign-off.
FILES.BBS - the table of files available on-line. Each file has
a record noting name, size, contributor, access count, section,
and whether the file is private or public.
LOG.BBS - Call Log, holding Caller, time on and time off info,
(providing the clock routines are enabled).
Turbo BBS Version 1.05 - System Operator Notes - Page 2
COMMENTS.BBS - Contains comments to Sysop, includes caller name
and time stamp. Comments are set to a 15 line maximum length by
the [G]oodbye command, and limited to 4 lines by the [A]pply
command.
IDS.BBS - Contains registered user names, passwords, access
levels, terminal parameters, last call date and high message
number.
The following text files containing on-line user information are
expected in a library B:BBSINFO.LBR.
WELCOME.TXT - The pre-sign-on user welcome file. Should give
details about the system's features, hours, and policies, as well
as any news about new system features. Newest bulletins should
occur first in a file so frequent users do not have to read long
stretches of familiar information to get the new stuff. This file
is also listed by the W (Welcome) command.
BBSHELP.TXT - The on-line Help file, containing the system
commands and user hints. Also should list the subcommands for the
commands that support them. This file is listed by the H (Help)
command.
BBSLIST.TXT - Contains a list of other remote access systems of
interest. Listed by the O (Other systems) command.
SYSINFO.TXT - Gives information about the equipment running the
BBS, and general information about the BBS. Listed by the Y
(sYstem information) command.
MEETING.TXT - Provides user with information as to scheduled
user group meetings in the area.
APPLYING.TXT - Listed by the [A]pply command. Gives information
on what is required to increase user access level.
MAINMENU.TXT - The BBS main menu.
EDITMENU.TXT - The message editor option menu.
READMENU.TXT - The read-messages option menu.
FILEHLP.TXT - The files system command help file. Gives
information on how to use files system commands.
FILEMENU.TXT - Files system command list.
BULLETIN.TXT - Bulletins about system changes, or any other
information of interest to users.
All messages are stored in individual text files, using the
file name MESSxxxx.TXT, where xxxx is the message number. All
.TXT files are expected on the default drive. They can be edited
Turbo BBS Version 1.05 - System Operator Notes - Page 3
using WordStar, in the Document mode. The BBS program is set up
to ignore the WordStar "soft" carriage returns and line feeds, so
the word wrap output driver of the BBS can format the file to
suit the user's terminal.
Messages stored by the BBS editor can be in two formats: one
contains "hard" carriage returns so special formatting used in
message entry is preserved (P subcommand in E command). The other
contains NO carriage returns, which are inserted by the output
routine as needed. Editing a message created by the latter option
with WordStar will show the entire message as a single line: ^B
will fix this by inserting soft carriage returns which the BBS
will ignore.
The top of the include file MAILSYS.INC defines a constant
called "maxmess," which defines the maximum number of messages
that can be held at one time on the system. The distribution
version sets this at 52, which corresponds to the maximum number
of files available on a Kaypro 2 disk (64) minus the number of
support files on the default drive. This limit can be increased
if a larger directory is available, but remember that the message
table is buffered in RAM and so each message uses 43 bytes.
Turbo BBS Version 1.05 - System Operator Notes - Page 4
3 - Installing the BBS on your system
The machine specific codes is contained in the include file
MACHDEP.INC. All system serial I/O is routed through these
routines. The distribution version was written for a Rixon 212A
Intelligent Modem.
To properly install the BBS, it is necessary to know how to
properly program and control the serial port. Since most
operating system drivers to not allow access to reading the CTS
(Clear To Send) line, this is necessary... It is unreasonable for
the BBS to be expected to capture and comprehend the "NO CARRIER"
or equivalent string from a smart modem. In particular, you must
know how to read the CTS line, control the RTS line, detect the
input buffer full signal, and the output buffer empty line. Also,
remember the character data send and character data receive
functions! To allow XMODEM transfers, it is necessary to set up
for 8 bits, no parity, and one stop bit.
Since the system expects to use the CTS line as a carrier
detect line, it will be necessary to ensure that the modem does
send a suitably readable signal for this purpose. The Rixon
initialization string does this. On Hayes Smartmodems, this is
controlled by a switch that must be set so the CTS line reflects
an on-line status. The DSR or DCD lines, if available and
satisfactory, can be used: just read that line in the cts
function in MACHDEP.INC.
The modem should also disconnect when the system lowers the
DTR (Data Terminal Ready - RS-232 pin 20) line for 400
milliseconds. If this feature is not available, another reliable
disconnect method must be found and implemented in the procedure
hangup in MACHDEP.INC. The DTR line is also lowered when the BBS
has been accessed locally to inhibit the modem's auto-answer
function. The procedures setlocal and clearlocal (IO.INC) will
require editing if this feature is not supported by your modem.
If your system has a real-time clock, the routines in the
include file MACHDEP.INC must be adapted to use it. Once again,
the distribution file uses the Kaypro 4-84 clock. The Kaypro 2-84
normally omits this, but the CPU board has the necessary hardware
to implement it with the addition of a few parts. If the system
lacks a real-time clock, the clock-related features can be turned
off by setting the constant "clockin" to FALSE at the beginning
of the BBS.PAS file. If you have no clock, DO NOT attempt to
remove the clock support code from MACHDEP.INC or IO.INC! While
the routines won't be used, they must be present for compiling.
If the special interest sections feature is not wanted, set
the "sectsin" constant at the beginning of BBS.PAS to FALSE. The
Section names are defined at the beginning of MAILSYS.INC. Future
updates of the Turbo BBS will offer either password protection or
individual user access flags for protected sections. It is
possible to not use sections in the BBS at first, then implement
them later, since all files and messages in a system without
Turbo BBS Version 1.05 - System Operator Notes - Page 5
sections are placed in section 1 (Default: General).
The BBS program must be compiled into a .COM file by using
the Turbo Pascal "O" (Options) command: it is too large to
effectively compile into memory.
If your system lacks sufficient memory to run the BBS
program as distributed, it will be necessary to overlay the files
system with the message entry editor. This is done by putting the
word "overlay" immediately before the procedure declaration of
the enter routine (near the end of MAILSYS.INC) and the filesys
routine (the file FILESYS.INC). (In addition, the procedure
sysoponly at the beginning of BBS2.INC can be made into another
overlay, which will save even more space.)
That is, change procedure enter;
to overlay procedure enter;
and change procedure filesys;
to overlay procedure filesys;
and change procedure sysoponly;
to overlay procedure sysoponly;
For this to work properly, it is absolutely necessary to avoid
putting any new procedure/function declarations at the end of
MAILSYS.INC, the beginning of FILESYS.INC, or between {$I
MAILSYS.INC} and {$I FILESYS.INC} in BBS.PAS!
(Note that using overlays will create 1 more file on the default
drive: adjust the maximum number of messages as required.)
The number of files in the file system is limited by the
fact that the directory table is buffered in RAM. In the
distribution version, a limit of 40 is set due to the fact that
the Kaypro 2's disks have a mere 191K capacity (All "freeware"
contributions go to the Hard Disk fund). To expand the number, it
is necessary to change the filetab array declaration and change
the number in the procedure newfile. Future versions will set
this limit with a compilation constant. Each file in the
directory uses 39 bytes of memory. Future versions will allow
large directory files to be read directly from disk (at the
expense of operation speed). (Please remember that the BBS was
NOT originally written for distribution!) The BBS puts all files
on the "B:" drive. To change this, you must change the constant
"filedrive" in BBS.PAS from 'B:'.
Turbo BBS Version 1.05 - System Operator Notes - Page 6
4 - Running the system
Once BBS.COM has been compiled successfully, it must be
placed on the correct drives with the library of .TXT files
listed previously in this document. The first thing the program
should do when run is initialize the modem.
Usernames and passwords are always mapped to capitals by the
BBS to avoid errors. SYSOP's access level is set to level 5
automatically on first sign-on. This allows master control access
to the first person to use this name: BEWARE! To sign on locally,
press the 'ESC' key on the host keyboard when the "Waiting for
call..." string appears. You can then sign on and test out the
system. The first thing to do is make your password something
VERY secure: the system supports certain features for Sysops that
are best not made available to the general public.
The BBS main program supports two commands not listed in the
menus. They are "!" and "@". "!" is the printer switch: if a user
with level 5 (Sysop) access uses this command, system output is
also sent to the lst: device, until another "!" is entered. "@"
is the sysoponly procedure containing the comments file reader
and ID access editor. This routine prompts for input with a
single question mark ("?"). There are three commands supported.
The first command is "C", which plays back the system's user
comments file. After the file is displayed, a "Kill (Y/N)?"
prompt appears, allowing the sysop to delete the file. The second
sysoponly command is "L", which is the access level editor: the
system will ask for a user name: if it is in the userlist, that
user's current access level will be displayed, and you will be
prompted for a new user level (pressing only RETURN changes it to
0). The system will loop through the Name/Access prompts until a
non-existent user name is entered, whereupon the command ends.
The last sysoponly command is "!", which is identical to the "!"
printer switch in the main menu.
Several commands contain Sysop extensions: the L (call Log)
command gives a "Kill (Y/N)?" prompt to level 5 users. The U
(User list) command shows the access level of each user. The
R (message Read) function prompts "Delete (Y/N)?" after each
message read. Furthermore, all messages are visible to the Sysop.
The file system also contains extensions for the Sysop.
These are the I, E and K commands. I is used to Install a file
that is on the files disk but not in the BBS directory, so the
Sysop can "upload" files by just copying them onto the Files
disk. E edits a file's header, allowing the sysop to rename the
file, change the name in the contributor field, change the
section in which the file is stored, and to release a file. When
a file is released, the public flag in the directory becomes
"true". All uploaded/installed files are initially private, and
do not appear on the BBS directory to anyone without level 5
access. Level 3 users have the ability to access private files
provided they know the file name. Any files on the files disk
that are not in the BBS directory are totally unaccessable, but
Turbo BBS Version 1.05 - System Operator Notes - Page 7
cannot be overwritten. The K command deletes a file from the
directory table, and erases the file.
The top of the FILESYS.INC file contains a number of options
that should be set up to match your system, such as the files
drive capacity and the minimum increment of file size in Kbytes.
If your system can store in increments of less than 1K bytes,
then set the increment to 1K: this will allow a nearly full disk
to have a negative amount of disk space remaining, but is
otherwise harmless.
The program is made to act as a private BBS simply by
setting the constant "openBBS" in BBS.PAS to false. This has the
effect of hanging up on any REMOTE user who attempts to sign on
without supplying a registered username within three attempts.
New users must be signed on locally first, before their names
will be permitted for remote access.
Turbo BBS Version 1.05 - System Operator Notes - Page 8
5 - General Information
This software and its associated documentation and support
files are released to the public domain by the author. It is not
to be distributed commercially or re-sold for profit without
prior permission from the author. If you feel the software is
well-suited to your purposes, and would like to be informed of
any updates or new versions, please send $30 to:
Robert H. Maxwell,
201-2275 West 7th Avenue,
Vancouver, B.C. CANADA
V6K 1Y3
This contribution entitles you to support, error correction, and
updates. Customization of the code for specific purposes is not
included, but can be made available at extra cost. It would be
appreciated if the specifics of the system you plan to run (phone
number, hours, baud rates, etc.) were also included, so any
improvements YOU make can be observed and possibly included in
updates. Also, a compilation of systems using this BBS will be
maintained on the Vancouver Turbo BBS from this information.
The original Turbo BBS is on-line in Vancouver 24 hours a
day at 300 or 1200 baud at (604) 738-7811. If the BBS is not
available, another computer is usually on-line to report the
reason for the unavailability and when the BBS will return.
For fastest response to questions or problems, it is
recommended you use the Vancouver BBS. Slower response is
available through CompuServe's Borland SIG, where the author's
PPN is 70206,174. The use of voice calls is not appreciated until
the details have been arranged.